#ifndef dq_ItemListPanelFactory_h
#define dq_ItemListPanelFactory_h

#include "ItemTabPanelFactory.h"

namespace serika
{
	namespace dq
	{
		class ItemListPanelFactory : public ItemTabPanelFactory
		{
		public:
			ItemListPanelFactory();
			virtual ~ItemListPanelFactory();

		public:
			virtual ItemTabPanel* CreatePanel(int itemType, CTabCtrl* parent);

		private:
			ItemTabPanel* CreateWeaponPanel(CTabCtrl* parent);
			ItemTabPanel* CreateArmorPanel(CTabCtrl* parent);
			ItemTabPanel* CreateGoodPanel(CTabCtrl* parent);
			ItemTabPanel* CreateAccessoryPanel(CTabCtrl* parent);
			ItemTabPanel* CreateMaterialPanel(CTabCtrl* parent);

		private:
			template <class Panel>
			Panel* CreatePanel(CTabCtrl* parent);
		};
	}
}

#endif
